<?php

namespace app\api\controller;

use app\common\controller\Api;

use esign\emun\HttpEmun;
use esign\comm\EsignHttpHelper;
use esign\comm\EsignLogHelper;
use esign\Config;
use third\Esign;

/**
 * 示例接口.
 */
class Demo extends Api
{
    //如果$noNeedLogin为空表示所有接口都需要登录才能请求
    //如果$noNeedRight为空表示所有接口都需要验证权限才能请求
    //如果接口已经设置无需登录,那也就无需鉴权了
    //
    // 无需登录的接口,*表示全部
    protected $noNeedLogin = ['test', 'test1'];
    // 无需鉴权的接口,*表示全部
    protected $noNeedRight = ['test2'];

    /**
     * 测试方法.
     *
     * @ApiTitle    (测试名称)
     * @ApiSummary  (测试描述信息)
     * @ApiMethod   (POST)
     * @ApiRoute    (/api/demo/test/id/{id}/name/{name})
     * @ApiHeaders  (name=token, type=string, required=true, description="请求的Token")
     * @ApiParams   (name="id", type="integer", required=true, description="会员ID")
     * @ApiParams   (name="name", type="string", required=true, description="用户名")
     * @ApiParams   (name="data", type="object", sample="{'user_id':'int','user_name':'string','profile':{'email':'string','age':'integer'}}", description="扩展数据")
     * @ApiReturnParams   (name="code", type="integer", required=true, sample="0")
     * @ApiReturnParams   (name="msg", type="string", required=true, sample="返回成功")
     * @ApiReturnParams   (name="data", type="object", sample="{'user_id':'int','user_name':'string','profile':{'email':'string','age':'integer'}}", description="扩展数据返回")
     * @ApiReturn   ({
     * 'code':'1',
     * 'msg':'返回成功'
     * })
     */
    public function test()
    {
       $Esign = new Esign();


//       $fileurl = root_path().'租房合同协议书样例.pdf';
//       $fileid =  $Esign->fileUploadUrl($fileurl,'租房合同协议书.pdf');
//        $result = $Esign->fileStatues($fileid);
////        dump($result);
////        dump($fileid);
//        $fileid='b98148b1d26d4eedadca449c1740b6f2';
//        $filename='租房合同协议书';
//        $docTemplateId='b7c8f655bcc042babd6e7478ab4d9c71';
//        $flowId='8ebbc473cc454cf58923d8fd3609f09a';
//        $result = $Esign->docTemplateCreateUrl($fileid,'租房合同协议书',0);
        $notifyurl = $this->request->domain() . '/api/esign/notify';
        $redirect_url = 'wechat://back';
//        $result = $Esign->fileDownloadUrl('46da5864bbb045899f39bc2e11cf541d');
        $result = $Esign->evidence_report_apply('46da5864bbb045899f39bc2e11cf541d',$notifyurl);

//        $result = $Esign->docTemplateEditUrl($docTemplateId,'');
//        $result = $Esign->templatesList(1);
//        $result = $Esign->createByFile($fileid,$filename,$filename);
//        $result = $Esign->getSignUrl($flowId);
//        $result = $Esign->templatesComponents($docTemplateId);
        dump($result);

    }




    /**
     * 无需登录的接口.
     */
    public function test1()
    {

        $Esign = new Esign();


//       $fileurl = root_path().'租房合同协议书样例.pdf';
//       $fileid =  $Esign->fileUploadUrl($fileurl,'租房合同协议书.pdf');
//        $result = $Esign->fileStatues($fileid);
////        dump($result);
////        dump($fileid);
//        $fileid='b98148b1d26d4eedadca449c1740b6f2';
//        $filename='租房合同协议书';
//        $docTemplateId='b7c8f655bcc042babd6e7478ab4d9c71';
//        $flowId='8ebbc473cc454cf58923d8fd3609f09a';
//        $result = $Esign->docTemplateCreateUrl($fileid,'租房合同协议书',0);
//        $notifyurl = $this->request->domain() . '/api/esign/notify';
//        $redirect_url = 'wechat://back';
//        $customBizNum = rand(1000,9999);

        $result = $Esign->fileDownloadUrl('46da5864bbb045899f39bc2e11cf541d');


        $this->success('返回成功', $result);
    }

    /**
     * 需要登录的接口.
     */
    public function test2()
    {
        $this->success('返回成功', ['action' => 'test2']);
    }

    /**
     * 需要登录且需要验证有相应组的权限.
     */
    public function test3()
    {
        $this->success('返回成功', ['action' => 'test3']);
    }
}
